#pragma once

#include "MouseController.h"
#include "DIJoystick.h"
#include <Windows.h>
#include <vector>

class AbsoluteMouseController : public MouseController {

public:
	AbsoluteMouseController(controllers::Joystick* cont);
	AbsoluteMouseController(AbsoluteMouseController& orig);
	virtual ~AbsoluteMouseController();

	void run();

private:
	typedef struct Dimension {
		int width;
		int height;
	} Dimension;

	int centerX;
	int centerY;
	int oldX;
	int oldY;

	//static std::vector<RECT> monitors;
	static BOOL CALLBACK AbsoluteMouseController::monitorCallback(_In_  HMONITOR hMonitor, _In_  HDC hdcMonitor, _In_  LPRECT lprcMonitor, _In_  LPARAM dwData);
};